INSERT INTO ASM_CONTABILE_3

SELECT CO.VOCE,CO.opzione,CO.anno,CO.DESCRIZIONE, CO.componente,CO.COEF_ANNO,
A.VAL 

FROM
(
select c1.progressivo_voce VOCE,c1.opzione,c1.anno,co.DESCRIZIONE, co.componente,MAX(CO.COEF_ANNO) COEF_ANNO,
 sum( quantita_scaglione*co.v1) val
 from asm_contabile_1 c1,ASM_CONTABILE_COEFFICENTI CO
where
co.VOCE=c1.progressivo_voce
and co.OPZIONE = c1.opzione
and co.ANNO = c1.anno
and co.componente = 'ALL'

group by             
c1.opzione,co.DESCRIZIONE, c1.anno,c1.progressivo_voce,co.componente

UNION ALL


select c2.progressivo_voce VOCE,c2.opzione,c2.anno,co.DESCRIZIONE, co.componente,MAX(CO.COEF_ANNO) COEF_ANNO,
sum(c2.quantita_scaglione*c2.tariffa_componente) VAL      
 from asm_contabile_2 c2,ASM_CONTABILE_COEFFICENTI CO
where 
     co.VOCE=c2.progressivo_voce
    and co.OPZIONE = c2.opzione
    and co.ANNO = c2.anno
    AND co.COMPONENTE = C2.DESCRIZIONE_COMPONENTE
    
    group by  c2.opzione,CO.DESCRIZIONE,c2.anno,c2.progressivo_voce,co.componente) A,ASM_CONTABILE_COEFFICENTI CO
    WHERE CO.VOCE = A.VOCE(+)
    AND CO.OPZIONE=A.OPZIONE(+)
    AND CO.ANNO=A.ANNO(+)
    AND CO.DESCRIZIONE=A.DESCRIZIONE(+)
    AND CO.COMPONENTE =A.COMPONENTE(+)